// This file is part of the Evolis SDK.
//
// The Evolis SDK is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//    
// The Evolis SDK is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with the Evolis SDK.  If not, see <http://www.gnu.org/licenses/>.

// iomem.h: iomem interface 
//

#include <windows.h>
#include <stdio.h>

#define STD_ANSWER_SIZE			512

#define RETURN_OK				0
#define RETURN_ERR_COMM			1
#define RETURN_ERR_WRITE		2
#define RETURN_ERR_READ			3


//Declaration of dll function
extern "C"
{
 __declspec(dllexport) HANDLE  __stdcall OpenPebble(char *);
  __declspec(dllexport) BOOL	FAR PASCAL ClosePebble(HANDLE);
 BOOL	FAR PASCAL ReadPebble(HANDLE, LPSTR, DWORD, LPDWORD);
  __declspec(dllexport) BOOL	FAR PASCAL WritePebble(HANDLE, LPSTR, DWORD);
 BOOL	FAR PASCAL GetIomemVersion(LPSTR);
 DWORD	WaitBusy;
 DWORD	FAR PASCAL GetTimeout(void);
 BOOL	FAR PASCAL SetTimeout(DWORD);
 BOOL	FAR PASCAL GetStatusEvo(HANDLE hPebble, int *nBytesRead);
}

